package csel.model;

import java.util.Hashtable;

public class Entity extends GameObject implements Ticked{
	Tile location;
	Inventory inventory;
	Hashtable equippedItems;
	String name;
	int lives;
	int strength;
	int agility;
	int intellect;
	int hardiness;
	int experience;
	int speed;
	int lifeLeft;
	/*derived attributes */
	int level;
	int mana;
	int offense;
	int defense;
	int armor;
	
	private boolean canClimb;
	private boolean canSwim;
	
	public boolean canClimb()
	{
		return(canClimb);
	}
	public boolean canSwim()
	{
		return(canSwim);
	}
	
	
	public void tick()
	{
		
	}
	public Tile getLocation() {
		return location;
	}
	
	public void setLocation(Tile location) {
		this.location = location;
	}
	
	public Inventory getInventory() {
		return inventory;
	}
	
	public void setInventory(Inventory inventory) {
		this.inventory = inventory;
	}
	
	public Hashtable getEquippedItems() {
		return equippedItems;
	}
	
	public void setEquippedItems(Hashtable equippedItems) {
		this.equippedItems = equippedItems;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public int getStrength() {
		return strength;
	}
	
	public void setStrength(int strength) {
		this.strength = strength;
	}
	
	public int getAgility() {
		return agility;
	}
	
	public void setAgility(int agility) {
		this.agility = agility;
	}
	
	public int getIntellect() {
		return intellect;
	}
	
	public void setIntellect(int intellect) {
		this.intellect = intellect;
	}
	
	public int getHardiness() {
		return hardiness;
	}

	public void setHardiness(int hardiness) {
		this.hardiness = hardiness;
	}

	public int getExperience() {
		return experience;
	}
	
	public void setExperience(int experience) {
		this.experience = experience;
	}
	
	public int getSpeed() {
		return speed;
	}
	
	public void setSpeed(int speed) {
		this.speed = speed;
	}
	
	public int getLifeLeft() {
		return lifeLeft;
	}
	
	public void setLifeLeft(int lifeLeft) {
		this.lifeLeft = lifeLeft;
	}
	
	public int getLives() {
		return lives;
	}
	
	public int getLevel() {
		return level;
	}
	
	public int getMana() {
		return mana;
	}
	
	public int getOffense() {
		return offense;
	}
	
	public int getDefense() {
		return defense;
	}
	
	public int getArmor() {
		return armor;
	}
	public void setCanClimb(boolean canClimb) {
		this.canClimb = canClimb;
	}
	public void setCanSwim(boolean canSwim) {
		this.canSwim = canSwim;
	}
}
